home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
038a
/
pbwiz11.zip
/
VGADEMO.BAS
< prev
next >
Wrap
BASIC Source File
|
1992-01-11
|
3KB
|
102 lines
' +----------------------------------------------------------------------+
' | |
' | PBWIZ Copyright (c) 1991-1992 Thomas G. Hanlin III |
' | |
' | PowerBASIC Wizard's Library |
' | |
' +----------------------------------------------------------------------+
$INCLUDE "equipmen.inc"
$LINK "equipmen.obj"
$INCLUDE "g13.inc"
$LINK "g13a.obj"
$LINK "g13b.pbu"
$INCLUDE "gn0.inc"
$LINK "gn0a.obj"
$LINK "gn0b.pbu"
DEFINT A-Z
RANDOMIZE TIMER
CALL GetDisplay (Adapter, Mono)
IF Adapter <> 6 THEN
PRINT "Sorry. VGADEMO requires a VGA to run."
END
END IF
CALL G13Mode (1) ' ...put into low-res VGA mode
CALL G13Color (4, 2)
CALL G13WriteLn ("PBWiz gives you access to 256-color VGA")
CALL G13Color (0, 3)
CALL G13WriteLn ("modes from 320x200 to 360x480 on any ")
CALL G13Color (7, 1)
CALL G13WriteLn ("standard VGA. This is 320x200. The ")
CALL G13Color (5, 8)
CALL G13WriteLn ("360x480 mode is shown on the next page.")
CALL G13WriteLn ("")
CALL G13Color (4, 14)
CALL G13WriteLn ("Full text & graphics support included. ")
FOR Y = 0 TO 31
CALL G13Color (Y + 16, 0)
CALL G13Box (Y, Y + 64, 319 - Y, (64 - Y) + 120, (Y = 100))
IF Y > 15 THEN
CALL G13Polygon (Y * 15 - 194, 112, 5, INT(RND * 6 + 1) + 2, .75 * 3.141593)
CALL G13Color (64 - Y, 0)
CALL G13Polygon (Y * 15 - 194, 136, 5, INT(RND * 6 + 1) + 2, 0)
END IF
NEXT
CALL G13Locate (25, 14)
CALL G13Color (15, 4)
CALL G13Write ("Press any key")
DO
LOOP WHILE LEN(INKEY$)
DO
ky$ = INKEY$
LOOP UNTIL LEN(ky$)
IF ky$ = CHR$(27) THEN GOTO Done
CALL GN0Mode (1)
CALL GN0Color (C, 0)
CALL GN0Cls
CALL GN0Locate (60, 1)
CALL GN0Color (30, 4)
CALL GN0Write ("360x480 graphics mode. Press any key to exit")
MaxX = 359
MaxY = 479 - 9
MaxColor = 255
X = INT(RND * MaxX \ 2)
Y = INT(RND * MaxY \ 2)
C = INT(RND * (MaxColor - 1) + 1)
DO
CALL GN0Plot (X, Y)
CALL GN0Plot (MaxX - X, Y)
CALL GN0Plot (MaxX - X, MaxY - Y)
CALL GN0Plot (X, MaxY - Y)
SELECT CASE INT(RND * 3)
CASE 0: X = X - 1: IF X < 0 THEN X = MaxX \ 2
CASE 1: X = X + 1: IF X > MaxX \ 2 THEN X = 0
CASE ELSE
END SELECT
SELECT CASE INT(RND * 3)
CASE 0: Y = Y - 1: IF Y < 0 THEN Y = MaxY \ 2
CASE 1: Y = Y + 1: IF Y > MaxY \ 2 THEN Y = 0
CASE ELSE
END SELECT
IF INT(RND * 20) = 1 THEN
C = INT(RND * (MaxColor - 1) + 1)
CALL GN0Color (C, 0)
END IF
LOOP UNTIL LEN(INKEY$)
Done:
CALL GN0Mode (0) ' restore text mode